/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntityState;

import java.io.Serializable;
import java.util.List;
 
/**
 *
 * @author James
 */ 
public class ItemDetailsState implements Serializable {
    private long id;
    private int  discount;     // percentage will be negative (e.g. -20 will be 20% discount), amount will be positive (e.g. 20 will be $20 discount)
    private int  price;        // Dollar + Cent * 100
    private int  redeemPrice;  // Amount of Loyalty points to redeem for the item
    private int  additionalLoyaltyPoint; // Amount of additional Loyalty point that partner wants to give for this item.
    private long startedDate;
    private long stoppedDate;
    private List<ItemState> subItems; // This one is for creating packages consisting of smaller items
    
    public ItemDetailsState(long id, int discount, int price) {
        this.id          = id;
        this.discount    = discount;
        this.price       = price;
    }
    
    public ItemDetailsState(long id, int discount, int price, int redeemPrice, int additionalLoyaltyPoint, long startedDate) {
        this.id          = id;
        this.discount    = discount;
        this.price       = price;
        this.redeemPrice = redeemPrice;
        this.additionalLoyaltyPoint = additionalLoyaltyPoint;
        this.startedDate = startedDate;  
    }

    public ItemDetailsState(long id, int discount, int price, int redeemPrice, int additionalLoyaltyPoint, long startedDate, List<ItemState> subItems) {
        this.id          = id;
        this.discount    = discount;
        this.price       = price;
        this.redeemPrice = redeemPrice;
        this.additionalLoyaltyPoint = additionalLoyaltyPoint;
        this.startedDate = startedDate;
        this.subItems    = subItems;
    }
    
    //Getters and Setters
    public int getAdditionalLoyaltyPoint() {
        return additionalLoyaltyPoint;
    }

    public void setAdditionalLoyaltyPoint(int additionalLoyaltyPoint) {
        this.additionalLoyaltyPoint = additionalLoyaltyPoint;
    }

    public int getDiscount() {
        return discount;
    }

    public void setDiscount(int discount) {
        this.discount = discount;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public int getRedeemPrice() {
        return redeemPrice;
    }

    public void setRedeemPrice(int redeemPrice) {
        this.redeemPrice = redeemPrice;
    }

    public long getStartedDate() {
        return startedDate;
    }

    public void setStartedDate(long startedDate) {
        this.startedDate = startedDate;
    }

    public long getStoppedDate() {
        return stoppedDate;
    }

    public void setStoppedDate(long stoppedDate) {
        this.stoppedDate = stoppedDate;
    }

    public List<ItemState> getSubItems() {
        return subItems;
    }

    public void setSubItems(List<ItemState> subItems) {
        this.subItems = subItems;
    }
}
